package com.qf.efserver.sport.service;

import com.qf.efserver.sport.param.SportDayParam;
import com.qf.efserver.sport.param.SportDistanceParam;
import com.qf.efserver.sport.param.SportDurationParam;
import com.qf.efserver.sport.param.TargetStepsParam;

import java.time.LocalDate;

public interface SportDayService {
    /**
     * 查询某周每天运动数据
     * @param weekId
     * @return
     */
    SportDayParam selectWeek(Integer weekId);

    /**
     * 添加运动步数目标
     * @param targetSteps
     */
    void addTargetSteps(Integer targetSteps);


    /**
     * 查询运动目标
     * @return
     */
    Integer selectTargetSteps(LocalDate localDate);

    /**
     * 查询运动目标参数
     * @return
     */
    TargetStepsParam selectTargetParam();
    /**
     * 添加运动距离目标
     * @param targetDistance
     */
    void addTargetDistance(Double targetDistance);

    /**
     * 查询运动距离，日
     * @param localDate
     * @return
     */
    SportDistanceParam selectDistanceDay(LocalDate localDate);

    /**
     * 查询运动距离，周
     * @param weekId
     * @return
     */
    SportDistanceParam selectDistanceWeek(Integer weekId);

    /**
     * 查询运动距离，月
     * @param monthId
     * @return
     */
    SportDistanceParam selectDistanceMonth(Integer monthId);
    /**
     * 查询运动时长，日
     * @param localDate
     * @return
     */
    SportDurationParam selectDurationDay(LocalDate localDate);

    /**
     * 查询运动时长，周
     * @param weekId
     * @return
     */
    SportDurationParam selectDurationWeek(Integer weekId);
    /**
     * 查询运动时长，月
     * @param monthId
     * @return
     */
    SportDurationParam selectDurationMonth(Integer monthId);
}
